#Diego Luna 
#Viernes 24-03-2012

# Variables del proyecto - Begin
#
#
#Compilador utilizado.
CC=gpp
#flags para el compilador.
CFLAGS=-ansi -Wall -Wextra -std=c++98 -g -c
#flags para el linker.
LDFLAGS=
#
#
#El directorio actual debe ser indicado con ".".
#
#Directorio de salida para los archivos *.o.
OBJ_DIR=.\..\obj\Debug
#Directorio de entrada para los archivos *.cpp.		
SRC_DIR=.\..\source
#Directorio de entrada para los archivos *.h.				
HDR_DIR=.\..\source
#Directorio de salida para el ejecutable.		
BIN_DIR=.\..\bin\Debug
#
#
#Archivos fuente c++ (separados por espacio, los nombres no deben contener espacios).
SOURCES=main.cpp cmdline.cpp abstractor.cpp
#Archivos de encabezado c++.
HEADERS=cmdline.h globals.h abstractor.h bases.h tree.h list.h hashtable.h set.h
#Nombre del ejecutable.
EXECUTABLE=tp1.exe
#
#
# Variables del proyecto - End


all: $(BIN_DIR)\$(EXECUTABLE)
	
$(BIN_DIR)\tp1.exe : $(OBJ_DIR)\main.o  $(OBJ_DIR)\cmdline.o $(OBJ_DIR)\abstractor.o
	@echo Building executable: "$<" 
	$(CC) $(LDFLAGS) $(OBJ_DIR)\main.o $(OBJ_DIR)\cmdline.o $(OBJ_DIR)\abstractor.o -o .\$(BIN_DIR)\$(EXECUTABLE)

$(OBJ_DIR)\main.o: $(SRC_DIR)\main.cpp $(HDR_DIR)\cmdline.h $(HDR_DIR)\globals.h $(HDR_DIR)\bases.h $(HDR_DIR)\tree.h $(HDR_DIR)\list.h $(HDR_DIR)\hashtable.h $(HDR_DIR)\set.h $(HDR_DIR)\abstractor.h  
	@echo Compiling: "$<" 
	$(CC) $(CFLAGS) $(SRC_DIR)\main.cpp -o $(OBJ_DIR)\main.o

$(OBJ_DIR)\cmdline.o: $(SRC_DIR)\cmdline.cpp $(HDR_DIR)\cmdline.h $(HDR_DIR)\globals.h
	@echo Compiling: "$<" 
	$(CC) $(CFLAGS) $(SRC_DIR)\cmdline.cpp -o $(OBJ_DIR)\cmdline.o

$(OBJ_DIR)\abstractor.o: $(SRC_DIR)\abstractor.cpp $(HDR_DIR)\abstractor.h $(HDR_DIR)\globals.h  $(HDR_DIR)\bases.h $(HDR_DIR)\tree.h $(HDR_DIR)\list.h $(HDR_DIR)\hashtable.h $(HDR_DIR)\set.h  
	@echo Compiling: "$<" 
	$(CC) $(CFLAGS) $(SRC_DIR)\abstractor.cpp -o $(OBJ_DIR)\abstractor.o


.PHONY : clean


clean:
	@echo cleaning 
	@del $(OBJ_DIR)\*.o 
	@del .\$(BIN_DIR)\$(EXECUTABLE)



